package com.campus.food.security;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 用户主体类
 * 用于存储当前认证用户的信息
 * 
 * @author Claude3.7 Sonnet
 * @since 2025-05-29
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserPrincipal {
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 用户名
     */
    private String username;
    
    /**
     * 用户角色：1-普通用户，2-商家，3-管理员
     */
    private Integer role;
    
    /**
     * 判断是否为普通用户
     */
    public boolean isUser() {
        return role != null && role == 1;
    }
    
    /**
     * 判断是否为商家
     */
    public boolean isMerchant() {
        return role != null && role == 2;
    }
    
    /**
     * 判断是否为管理员
     */
    public boolean isAdmin() {
        return role != null && role == 3;
    }
} 